package com.yungu.swift.order.model.param;

import com.yungu.swift.assets.passenger.model.dto.PassengerDto;
import com.yungu.swift.base.model.api.ApiParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

@Data
public class JoinOrderParam extends ApiParam {

    @ApiModelProperty(value = "身份 1乘客 2司机")
    private Integer identify;

    @ApiModelProperty(value = "订单id")
    private String orderUuid;

    @ApiModelProperty(value = "司机id")
    private String driverUuid;

    @ApiModelProperty(value = "出发时间")
    private Date deparTime;

    @ApiModelProperty(value = "线路起点id")
    private String originSiteUuid;

    @ApiModelProperty(value = "线路终点id")
    private String destSiteUuid;

    @ApiModelProperty(value = "起点城市")
    private String originCity;

    @ApiModelProperty(value = "起点地址")
    private String originAddress;

    @ApiModelProperty(value = "详细起点地址")
    private String originDetailAddress;

    @ApiModelProperty(value = "起点经度")
    private Double originLng;

    @ApiModelProperty(value = "起点纬度")
    private Double originLat;

    @ApiModelProperty(value = "终点城市")
    private String destCity;

    @ApiModelProperty(value = "终点地址")
    private String destAddress;

    @ApiModelProperty(value = "详细终点地址")
    private String destDetailAddress;

    @ApiModelProperty(value = "终点经度")
    private Double destLng;

    @ApiModelProperty(value = "终点纬度")
    private Double destLat;

    @ApiModelProperty(value = "寄件人")
    private String senderName;

    @ApiModelProperty(value = "寄件人电话")
    private String senderMobile;

    @ApiModelProperty(value = "收件人")
    private String receiverName;

    @ApiModelProperty(value = "收件人电话")
    private String receiverMobile;

    @ApiModelProperty(value = "用户发单经度")
    private String passengerLng;

    @ApiModelProperty(value = "用户发单纬度")
    private String passengerLat;

    @ApiModelProperty(value = "货件描述编码 code:货件类型+\",\"+货件总重量+\"\"+货件总体积")
    private String parcelInfoCode;

    @ApiModelProperty(value = "货件描述名称 name:货件类型+\",\"+货件总重量+\",\"+货件总体积")
    private String parcelInfoName;

    @ApiModelProperty(value = "货件体积编码")
    private String parcelVolumeCode;

    @ApiModelProperty(value = "货件重量编码")
    private String parcelWeightCode;

    @ApiModelProperty(value = "货件类型编码")
    private String parcelTypeCode;

    @ApiModelProperty(value = "货件照片")
    private String parcelPhoto;

    @ApiModelProperty(value = "订单备注")
    private String remark;

    @ApiModelProperty(value = "订单来源：1 APP移动端；2 微信公众号；3 电话叫车；4 pc网站； 5 后台下单； 6 小程序下单")
    private Integer orderSource;

    @ApiModelProperty(value = "乘客ID")
    private String passengerUuid;

    @ApiModelProperty(value = "出发地区域代码")
    private String originAreaCode;

    @ApiModelProperty(value = "乘客信息")
    private PassengerDto passengerDto;

    @ApiModelProperty(value = "关闭类型")
    private String closeType;

    @ApiModelProperty(value = "关闭原因")
    private String closeReason;

    @ApiModelProperty(value = "订单模块")
    private Integer typeModule;

    @ApiModelProperty(value = "主订单号")
    private String mainOrderUuid;

    @ApiModelProperty(value = "收货码")
    private String receiptCode;

    @ApiModelProperty(value = "车型ID")
    private String carModelUuid;

    @ApiModelProperty(value = " 业务类型 3跨城拼车 5跨城小件")
    private Integer businessType;

    @ApiModelProperty(value = "是否仅返回最近定位出发点（0否 1是）")
    private Integer onlyMatch;

    @ApiModelProperty(value = "线路计价ID")
    private String sysWayCalculationUuid;

    @ApiModelProperty(value = "订单时效 1实时 2预约")
    private Integer typeTime;

    @ApiModelProperty(value = "乘客手机号")
    private String passengerMobile;

    @ApiModelProperty(value = "实际乘车人")
    private String actualName;

    @ApiModelProperty(value = "真实乘车人手机号")
    private String actualMobile;

    @ApiModelProperty(value = "成人乘客数量", example = "0")
    private Integer adultNum;

    @ApiModelProperty(value = "订单来电 uuid")
    private String callUuid;

    @ApiModelProperty(value = "拼车类型（1拼车 2包车 3小件）", example = "0")
    private Integer typeJoin;

    @ApiModelProperty(value = "订单需求类型 1普通订单 2机场专线")
    private Integer orderDemand;

    @ApiModelProperty(value = "订单来源备注", example = "来源：二人快车")
    private String sourceRemark;

    @ApiModelProperty(value = "估价ID")
    private String evaluateUuid;
}
